scanf("%1024[^\n]", a)是什么意思啊

来源:百度知道 编辑:UC知道 时间:2024/05/29 16:37:22
在武大的ACM协会的帖子上看到的
http://acm.whu.edu.cn/blog/read.php?74#entrymore

%[^a] 匹配非a的任意字符,贪婪性
从下面两个小程序可以看出它的意思。

#include <stdio.h>
main()
{
char a[256];
scanf("%1024[^\n]", a);
printf("%s\n",a);
}

输入:asfdj j;asdlkf aslkdjf sdajkfjsa;ldjflk;asjf
输出:asfdj j;asdlkf aslkdjf sdajkfjsa;ldjflk;asjf

这个程序的意思是读入字符,直到遇到'\n'也就是回车结束。
#include <stdio.h>
main()
{
char a[256];
scanf("%1024[^ ]", a);
printf("%s\n",a);
}

输入:asfdj j;asdlkf aslkdjf sdajkfjsa;ldjflk;asjf
输出:asfdj

这个程序的意思是读入字符,直到遇到' '也就是空格结束。

表示最多接收1024个输入字符,遇到换行结束输入。